package mybatisplus.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 发票信息
 * </p>
 *
 * @author liufan
 * @since 2019-10-18
 */
@Data
    @EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_invoice")
@ApiModel(value="Invoice对象", description="发票信息")
public class Invoice implements Serializable {

private static final long serialVersionUID = 1L;

        @ApiModelProperty(value = "表id")
                    @TableId(value = "id", type = IdType.AUTO)
                private Integer id;

        @ApiModelProperty(value = "唯一标识")
        private String invoiceId;

        @ApiModelProperty(value = "发票流水号")
        private String serialId;

        @ApiModelProperty(value = "发票状态（1-待处理 2-待审批 3-待开具 4-开具 5-作废 6-冲红 7-已删除）")
        private Integer invoiceStatus;

        @ApiModelProperty(value = "发票代码")
        private String invoiceCode;

        @ApiModelProperty(value = "发票号码")
        private String invoiceNum;

        @ApiModelProperty(value = "发票类型（1专票2普票3电票）")
        private String invoiceType;

        @ApiModelProperty(value = "销方企业id")
        private String salerId;

        @ApiModelProperty(value = "销方企业名称")
        private String salerName;

        @ApiModelProperty(value = "销方企业税号")
        private String salerTaxnum;

        @ApiModelProperty(value = "销方企业地址")
        private String salerAddress;

        @ApiModelProperty(value = "销方企业电话")
        private String salerPhone;

        @ApiModelProperty(value = "销方企业开户行及账号")
        private String salerAccount;

        @ApiModelProperty(value = "购方企业名称")
        private String buyerName;

        @ApiModelProperty(value = "购方企业税号")
        private String buyerTaxnum;

        @ApiModelProperty(value = "购方企业地址电话")
        private String buyerAddress;

        @ApiModelProperty(value = "购方企业地址电话")
        private String buyerPhone;

        @ApiModelProperty(value = "购方企业开户行及账号")
        private String buyerAccount;

        @ApiModelProperty(value = "电票通知手机号")
        private String phone;

        @ApiModelProperty(value = "电票通知邮箱")
        private String email;

        @ApiModelProperty(value = "含税金额合计")
        private BigDecimal totalAmount;

        @ApiModelProperty(value = "税额合计")
        private BigDecimal totalTaxamount;

        @ApiModelProperty(value = "不含税金额合计")
        private BigDecimal totalAmount2;

        @ApiModelProperty(value = "价税合计大写")
        private String totalUpcase;

        @ApiModelProperty(value = "价税合计小写")
        private BigDecimal totalLowcase;

        @ApiModelProperty(value = "单税率填税率，多税率为空")
        private String taxRate;

        @ApiModelProperty(value = "备注")
        private String remark;

        @ApiModelProperty(value = "开票时间")
        private Date createTime;

        @ApiModelProperty(value = "开票员")
        private String cleck;

        @ApiModelProperty(value = "发票pdf地址,电票存在")
        private String cUrl;

        @ApiModelProperty(value = "发票图片地址,电票存在")
        private String cJpgUrl;

        @ApiModelProperty(value = "易代开开票人id")
        private String createUserid;

        @ApiModelProperty(value = "易代开开票人名称")
        private String createUsername;

        @ApiModelProperty(value = "云代账开票员id")
        private String drawUserid;

        @ApiModelProperty(value = "云代账开票员名称")
        private String drawUsername;

        @ApiModelProperty(value = "作废时间")
        private Date invalidTime;

        @ApiModelProperty(value = "作废操作人")
        private String invalidUserid;

        @ApiModelProperty(value = "作废操作人")
        private String invalidUsername;

        @ApiModelProperty(value = "申请人")
        private String applyUsername;

        @ApiModelProperty(value = "制单人")
        private String filledUsername;

        @ApiModelProperty(value = "审批人id")
        private String allowUserid;

        @ApiModelProperty(value = "审批人名称")
        private String allowUsername;

        @ApiModelProperty(value = "来源 1-PC端 2-APP端标准申请 3-APP端拍照申请")
        private Integer sourceType;

        @ApiModelProperty(value = "创建人")
        private String addUserid;

        @ApiModelProperty(value = "创建人名称")
        private String addUsername;

        @ApiModelProperty(value = "事务所id")
        private String officeId;

        @ApiModelProperty(value = "添加时间")
        private Date addTime;

        @ApiModelProperty(value = "修改人")
        private String updateUserid;

        @ApiModelProperty(value = "修改人名称")
        private String updateUsername;

        @ApiModelProperty(value = "更新时间")
        private Date updateTime;


        }
